package pj.byt;

import org.springframework.stereotype.Component;

import cn.dev33.satoken.oauth2.logic.SaOAuth2Template;
import cn.dev33.satoken.oauth2.model.SaClientModel;

/**
 * Sa-Token OAuth2.0 整合实现 
 * @author kong
 */
@Component
public class SaOAuth2TemplateImpl extends SaOAuth2Template {

	/**
	 * 根据 id 获取 Client 信息
	 * @param clientId 应用id
	 * @return
	 */
	@Override
	public SaClientModel getClientModel(String clientId) {
		// 此为模拟数据，真实环境需要从数据库查询 
		if("CGW20220304i10NTNUDJJV".equals(clientId)) {
			return new SaClientModel()
					.setClientId("CGW20220304i10NTNUDJJV")
					.setClientSecret("7c53ea2d12a8302abcc8033dff76000f")
					.setAllowUrl("*")
					.setContractScope("userinfo")
					.setIsAutoMode(true);
		}
		return null;
	}

	/**
	 * 根据ClientId 和 LoginId 获取openid
	 * @param clientId 应用id
	 * @param loginId 账号id
	 * @return
	 */
	@Override
	public String getOpenid(String clientId, Object loginId) {
		// 此为模拟数据，真实环境需要从数据库查询 
		return "gr_SwoIN0MC1ewxHX_vfCW3BothWDZMMtx__"+loginId;
	}
}
